package org.hy.persistence.group;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.hy.domain.group.Group;


/**
 * 小组映射器
 * @author xwm
 *
 */
public interface GroupMapper {

	/**
	 * 创建小组
	 * @param group
	 * @return
	 */
	int insertGroup(Group group);
	
	/**
	 * 查找小组
	 * @param id 小组id
	 * @return 小组
	 */
	Group findGroupById(int id);
	/**
	 * 更新小组
	 * @param group
	 * @return
	 */
	int updateGroup(Group group);
	
	/**
	 * 删除小组,有级联删除问题.
	 * 
	 * @param id
	 * @return
	 */
	int deleteGroup(int id);
	
	/**
	 * 查找用户创建的小组列表
	 * @param uid
	 * @return
	 */
	List<Group> findGroupByUid(@Param("uid")int uid,@Param("offset")int offset,@Param("size")int size);
	
	List<Group> findGroupByTimeline(@Param("offset")int offset,@Param("size")int size);
	
	/**
	 * 按名字模糊查找小组
	 * @param name
	 * @return
	 */
	List<Group> searchGroupByName(@Param("name")String name,@Param("offset")int offset,@Param("size")int size);
	
	/**
	 * 统计用户创建的小组数
	 * @param uid
	 * @return
	 */
	int countGroup(int uid);
}
